#pragma once

#include <QOpenGLWindow>

class QOpenGLFunctions_4_1_Core;
class QOpenGLShaderProgram;
class QOpenGLVertexArrayObject;
class QOpenGLBuffer;


class MyGlWindow : public QOpenGLWindow
{
    Q_OBJECT

public:
    MyGlWindow();

protected:
    virtual void initializeGL();
    virtual void paintGL();

private slots:
  void teardownGL();

private:
    void printContextInformation();

    QOpenGLFunctions_4_1_Core*  MY_GL_FUNC;
    QOpenGLShaderProgram*       program;
    QOpenGLVertexArrayObject*   vao;
    QOpenGLBuffer*              buffer;
};
